package com.xbongbong.process.task;

import com.xbongbong.paas.domain.entity.ext.OptionalRangeEntity;
import com.xbongbong.paas.domain.entity.ext.PaasProcessTemplateNodeEntityExt;
import com.xbongbong.paas.pojo.dto.ProcessNodeTaskAddDTO;
import com.xbongbong.paas.toolbox.exception.XbbException;

import java.util.List;

/**
 * @author: wufeng
 * @date: 2018/11/30 19:28
 * @desrcption:
 */
public interface NodeTaskListService<T> {

    /**
     * 获取待生成的任务
     * @param optionalRangeList 可选范围
     * @param t 传入实体
     * @param paasProcessTemplateNodeEntityExt 当前节点
     * @param taskType 操作类型
     * @see com.xbongbong.paas.enums.TaskTypeEnum
     * @return
     * @throws XbbException
     */
    List<ProcessNodeTaskAddDTO> getNodeTaskList(List<OptionalRangeEntity> optionalRangeList, T t,
                                                   PaasProcessTemplateNodeEntityExt paasProcessTemplateNodeEntityExt, Integer taskType) throws XbbException;

}